package cn.dkk.behavior_design.template_mothed.abstract_impl.pojo;

/**
 * @author dkk
 * @date 2022/7/19
 * @desc 模板方法模式抽象类
 */
public abstract class AbstractCustomer {

    public final void doSomething(){
        getNum();
        line();
        business();
        line();
    }

    /**
     * 排队
     */
    private void line(){
        System.out.println("排队");
    }

    /**
     * 取号
     */
    private void getNum(){
        System.out.println("取号");
    }

    /**
     * 办理业务
     */
    abstract void business();

    /**
     * 离开
     */
    private void live(){
        System.out.println("离开");
    }

}
